package com.punai.dataanalysis.epdatakb.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.punai.common.utils.NumberUtil;
import com.punai.dataanalysis.ng001.domain.ProjectTable;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.punai.common.annotation.Excel;
import com.punai.common.core.domain.BaseEntity;

/**
 * 经营产值报对象 data_analysis_jyczbb
 *
 * @author zxw_
 * @date 2023-04-20
 */
public class DataAnalysisJyczbb extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;
    /**
     * 序号
     */
    @Excel(name = "序号")
    private String xh;
    /**
     * 合同受控号
     */
    @Excel(name = "合同受控号")
    private String htContrNo;
    /**
     * 建设单位
     */
    @Excel(name = "建设单位")
    private String jsdw;
    /**
     * 工程名称
     */
    @Excel(name = "工程名称")
    private String proName;
    /**
     * 建设单位类型（1、房地产；2、政府、平台公司、国企；3、集团内部单位；4、其他）
     */
    @Excel(name = "建设单位类型", readConverterExp = "1=房地产,2=政府、平台公司、国企,3=集团内部单位,4=其他")
    private String jsdwlx;
    /**
     * 合同名称
     */
    @Excel(name = "合同名称")
    private String htName;
    /**
     * 合同价款
     */
    @Excel(name = "合同价款")
    private BigDecimal htTotal;
    /**
     * 建筑面积/m2
     */
    @Excel(name = "建筑面积/m2")
    private BigDecimal jzmj;
    /**
     * 国家
     */
    @Excel(name = "国家")
    private String country;
    /**
     * 省
     */
    @Excel(name = "省")
    private String province;
    /**
     * 市
     */
    @Excel(name = "市")
    private String city;
    /**
     * 区
     */
    @Excel(name = "区")
    private String county;
    /**
     * 实际项目经理
     */
    @Excel(name = "实际项目经理")
    private String sjxmjl;
    /**
     * 管理人员数量
     */
    @Excel(name = "管理人员数量")
    private BigDecimal glryrs;
    /**
     * 工程个数
     */
    @Excel(name = "工程个数")
    private BigDecimal gcAmount;
    /**
     * 状态-在建、竣工、结算,迟缓,停工
     */
    @Excel(name = "状态-在建、竣工、结算,迟缓,停工")
    private String proStatus;
    /**
     * 项目部
     */
    @Excel(name = "项目部")
    private String deptName;
    /**
     * 项目经理
     */
    @Excel(name = "项目经理")
    private String xmjl;
    /**
     * 施工图开工预算情况-预算
     */
    @Excel(name = "施工图开工预算情况-预算")
    private BigDecimal sgtYs;
    /**
     * 施工图开工预算情况-甲供材
     */
    @Excel(name = "施工图开工预算情况-甲供材")
    private BigDecimal sgtJgc;
    /**
     * 总完工程度
     */
    @Excel(name = "总完工程度")
    private BigDecimal wgjd;
    /**
     * 年终预算情况-预算
     */
    @Excel(name = "年终预算情况-预算")
    private BigDecimal yearYs;
    /**
     * 年终预算情况-甲供材
     */
    @Excel(name = "年终预算情况-甲供材")
    private BigDecimal yearJgc;
    /**
     * 年终预算情况-税金
     */
    @Excel(name = "年终预算情况-税金")
    private BigDecimal yearSj;
    /**
     * 上级ID
     */
    @Excel(name = "上级ID")
    private String pid;
    /**
     * 统计月份
     */
    @Excel(name = "统计月份")
    private String ydTime;
    /**
     * 年终成本发生情况-成本
     */
    @Excel(name = "年终成本发生情况-成本")
    private BigDecimal yearCost;
    /**
     * 年终成本发生情况-甲供材
     */
    @Excel(name = "年终成本发生情况-甲供材")
    private BigDecimal yearCostJgc;
    /**
     * 年终利润情况-利润
     */
    @Excel(name = "年终利润情况-利润")
    private BigDecimal yearLr;
    /**
     * 年终利润情况-利润率
     */
    @Excel(name = "年终利润情况-利润率")
    private BigDecimal yearLrl;
    /**
     * 本年产值-预算
     */
    @Excel(name = "本年产值-预算")
    private BigDecimal yearCzYs;
    /**
     * 本年产值-甲供材
     */
    @Excel(name = "本年产值-甲供材")
    private BigDecimal yearCzJgc;
    /**
     * 本年产值-税金
     */
    @Excel(name = "本年产值-税金")
    private BigDecimal yearCzSj;
    /**
     * 本年产值-小计
     */
    @Excel(name = "本年产值-小计")
    private BigDecimal yearCzSubTotal;
    /**
     * 本年产值-其中土建
     */
    @Excel(name = "本年产值-其中土建")
    private BigDecimal yearCzTj;
    /**
     * 本年产值-其中安装
     */
    @Excel(name = "本年产值-其中安装")
    private BigDecimal yearCzAz;
    /**
     * 本年产值-其中其他
     */
    @Excel(name = "本年产值-其中其他")
    private BigDecimal yearCzQt;
    /**
     * 本年产值-专业分包产值
     */
    @Excel(name = "本年产值-专业分包产值")
    private BigDecimal yearCzZyfb;
    /**
     * 本年成本-成本
     */
    @Excel(name = "本年成本-成本")
    private BigDecimal benYearCost;
    /**
     * 本年成本-甲供材
     */
    @Excel(name = "本年成本-甲供材")
    private BigDecimal benYearJgc;
    /**
     * 本年工程利润-本年利润
     */
    @Excel(name = "本年工程利润-本年利润")
    private BigDecimal benYearLr;
    /**
     * 本年工程利润-本年利润
     */
    @Excel(name = "本年工程利润-本年利润")
    private BigDecimal benYearLrl;
    /**
     * 节点前预算累计情况-预算
     */
    @Excel(name = "节点前预算累计情况-预算")
    private BigDecimal nodeBeforeYs;
    /**
     * 节点前预算累计情况-甲供材
     */
    @Excel(name = "节点前预算累计情况-甲供材")
    private BigDecimal nodeBeforeYsJgc;
    /**
     * 节点前预算累计情况-税金
     */
    @Excel(name = "节点前预算累计情况-税金")
    private BigDecimal nodeBeforeYsSj;
    /**
     * 节点前成本累计情况-成本
     */
    @Excel(name = "节点前成本累计情况-成本")
    private BigDecimal nodeBeforeCb;
    /**
     * 节点前成本累计情况-甲供材
     */
    @Excel(name = "节点前成本累计情况-甲供材")
    private BigDecimal nodeBeforeCbJgc;
    /**
     * 累计工程利润-工程利润
     */
    @Excel(name = "累计工程利润-工程利润")
    private BigDecimal klLr;
    /**
     * 累计工程利润-工程利润率
     */
    @Excel(name = "累计工程利润-工程利润率")
    private BigDecimal klLrl;
    /**
     * 非正常成本增加-金额
     */
    @Excel(name = "非正常成本增加-金额")
    private BigDecimal fzcCostFee;
    /**
     * 非正常成本增加-占预算累计百分率
     */
    @Excel(name = "非正常成本增加-占预算累计百分率")
    private BigDecimal fzcCostFeeZb;
    /**
     * 合并行
     */
    @TableField(exist = false)
    private boolean hb = false;

    @TableField(exist = false)
    private String pc;

    public String getPc() {
        return pc;
    }

    public void setPc(String pc) {
        this.pc = pc;
    }

    public void hb() {
        this.hb = true;
    }

    public boolean isHb() {
        return hb;
    }

    public void setHb(boolean hb) {
        this.hb = hb;
    }

    public static DataAnalysisJyczbb conversion(DataAnalysisJyczbb dataAnalysisJyczbb, ProjectTable projectTable) {
        if(dataAnalysisJyczbb == null) dataAnalysisJyczbb = new DataAnalysisJyczbb();

        dataAnalysisJyczbb.setHtContrNo(projectTable.getUserSkh());
        dataAnalysisJyczbb.setJsdw(projectTable.getCompname());
        dataAnalysisJyczbb.setProName(projectTable.getProjectName());
        dataAnalysisJyczbb.setJsdwlx(projectTable.getUserJfdwlx());
        dataAnalysisJyczbb.setHtName(projectTable.getProjectNamep());
        dataAnalysisJyczbb.setHtTotal(NumberUtil.getValue(projectTable.getCntAmtFc()));
        dataAnalysisJyczbb.setJzmj(NumberUtil.getValue(projectTable.getBuildingArea()));
        dataAnalysisJyczbb.setCountry(projectTable.getNationname());
        dataAnalysisJyczbb.setProvince(projectTable.getProvincename());
        dataAnalysisJyczbb.setCity(projectTable.getCityname());
        dataAnalysisJyczbb.setCounty(projectTable.getRegionname());
        dataAnalysisJyczbb.setSjxmjl(projectTable.getCname());


        return dataAnalysisJyczbb;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setXh(String xh) {
        this.xh = xh;
    }

    public String getXh() {
        return xh;
    }

    public void setHtContrNo(String htContrNo) {
        this.htContrNo = htContrNo;
    }

    public String getHtContrNo() {
        return htContrNo;
    }

    public void setJsdw(String jsdw) {
        this.jsdw = jsdw;
    }

    public String getJsdw() {
        return jsdw;
    }

    public void setProName(String proName) {
        this.proName = proName;
    }

    public String getProName() {
        return proName;
    }

    public void setJsdwlx(String jsdwlx) {
        this.jsdwlx = jsdwlx;
    }

    public String getJsdwlx() {
        return jsdwlx;
    }

    public void setHtName(String htName) {
        this.htName = htName;
    }

    public String getHtName() {
        return htName;
    }

    public void setHtTotal(BigDecimal htTotal) {
        this.htTotal = htTotal;
    }

    public BigDecimal getHtTotal() {
        return htTotal;
    }

    public void setJzmj(BigDecimal jzmj) {
        this.jzmj = jzmj;
    }

    public BigDecimal getJzmj() {
        return jzmj;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCountry() {
        return country;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getProvince() {
        return province;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCity() {
        return city;
    }

    public void setCounty(String county) {
        this.county = county;
    }

    public String getCounty() {
        return county;
    }

    public void setSjxmjl(String sjxmjl) {
        this.sjxmjl = sjxmjl;
    }

    public String getSjxmjl() {
        return sjxmjl;
    }

    public void setGlryrs(BigDecimal glryrs) {
        this.glryrs = glryrs;
    }

    public BigDecimal getGlryrs() {
        return glryrs;
    }

    public void setGcAmount(BigDecimal gcAmount) {
        this.gcAmount = gcAmount;
    }

    public BigDecimal getGcAmount() {
        return gcAmount;
    }

    public void setProStatus(String proStatus) {
        this.proStatus = proStatus;
    }

    public String getProStatus() {
        return proStatus;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setXmjl(String xmjl) {
        this.xmjl = xmjl;
    }

    public String getXmjl() {
        return xmjl;
    }

    public void setSgtYs(BigDecimal sgtYs) {
        this.sgtYs = sgtYs;
    }

    public BigDecimal getSgtYs() {
        return sgtYs;
    }

    public void setSgtJgc(BigDecimal sgtJgc) {
        this.sgtJgc = sgtJgc;
    }

    public BigDecimal getSgtJgc() {
        return sgtJgc;
    }

    public void setWgjd(BigDecimal wgjd) {
        this.wgjd = wgjd;
    }

    public BigDecimal getWgjd() {
        return wgjd;
    }

    public void setYearYs(BigDecimal yearYs) {
        this.yearYs = yearYs;
    }

    public BigDecimal getYearYs() {
        return yearYs;
    }

    public void setYearJgc(BigDecimal yearJgc) {
        this.yearJgc = yearJgc;
    }

    public BigDecimal getYearJgc() {
        return yearJgc;
    }

    public void setYearSj(BigDecimal yearSj) {
        this.yearSj = yearSj;
    }

    public BigDecimal getYearSj() {
        return yearSj;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getPid() {
        return pid;
    }

    public void setYdTime(String ydTime) {
        this.ydTime = ydTime;
    }

    public String getYdTime() {
        return ydTime;
    }

    public void setYearCost(BigDecimal yearCost) {
        this.yearCost = yearCost;
    }

    public BigDecimal getYearCost() {
        return yearCost;
    }

    public void setYearCostJgc(BigDecimal yearCostJgc) {
        this.yearCostJgc = yearCostJgc;
    }

    public BigDecimal getYearCostJgc() {
        return yearCostJgc;
    }

    public void setYearLr(BigDecimal yearLr) {
        this.yearLr = yearLr;
    }

    public BigDecimal getYearLr() {
        return yearLr;
    }

    public void setYearLrl(BigDecimal yearLrl) {
        this.yearLrl = yearLrl;
    }

    public BigDecimal getYearLrl() {
        return yearLrl;
    }

    public void setYearCzYs(BigDecimal yearCzYs) {
        this.yearCzYs = yearCzYs;
    }

    public BigDecimal getYearCzYs() {
        return yearCzYs;
    }

    public void setYearCzJgc(BigDecimal yearCzJgc) {
        this.yearCzJgc = yearCzJgc;
    }

    public BigDecimal getYearCzJgc() {
        return yearCzJgc;
    }

    public void setYearCzSj(BigDecimal yearCzSj) {
        this.yearCzSj = yearCzSj;
    }

    public BigDecimal getYearCzSj() {
        return yearCzSj;
    }

    public void setYearCzSubTotal(BigDecimal yearCzSubTotal) {
        this.yearCzSubTotal = yearCzSubTotal;
    }

    public BigDecimal getYearCzSubTotal() {
        return yearCzSubTotal;
    }

    public void setYearCzTj(BigDecimal yearCzTj) {
        this.yearCzTj = yearCzTj;
    }

    public BigDecimal getYearCzTj() {
        return yearCzTj;
    }

    public void setYearCzAz(BigDecimal yearCzAz) {
        this.yearCzAz = yearCzAz;
    }

    public BigDecimal getYearCzAz() {
        return yearCzAz;
    }

    public void setYearCzQt(BigDecimal yearCzQt) {
        this.yearCzQt = yearCzQt;
    }

    public BigDecimal getYearCzQt() {
        return yearCzQt;
    }

    public void setYearCzZyfb(BigDecimal yearCzZyfb) {
        this.yearCzZyfb = yearCzZyfb;
    }

    public BigDecimal getYearCzZyfb() {
        return yearCzZyfb;
    }

    public void setBenYearCost(BigDecimal benYearCost) {
        this.benYearCost = benYearCost;
    }

    public BigDecimal getBenYearCost() {
        return benYearCost;
    }

    public void setBenYearJgc(BigDecimal benYearJgc) {
        this.benYearJgc = benYearJgc;
    }

    public BigDecimal getBenYearJgc() {
        return benYearJgc;
    }

    public void setBenYearLr(BigDecimal benYearLr) {
        this.benYearLr = benYearLr;
    }

    public BigDecimal getBenYearLr() {
        return benYearLr;
    }

    public void setBenYearLrl(BigDecimal benYearLrl) {
        this.benYearLrl = benYearLrl;
    }

    public BigDecimal getBenYearLrl() {
        return benYearLrl;
    }

    public void setNodeBeforeYs(BigDecimal nodeBeforeYs) {
        this.nodeBeforeYs = nodeBeforeYs;
    }

    public BigDecimal getNodeBeforeYs() {
        return nodeBeforeYs;
    }

    public void setNodeBeforeYsJgc(BigDecimal nodeBeforeYsJgc) {
        this.nodeBeforeYsJgc = nodeBeforeYsJgc;
    }

    public BigDecimal getNodeBeforeYsJgc() {
        return nodeBeforeYsJgc;
    }

    public void setNodeBeforeYsSj(BigDecimal nodeBeforeYsSj) {
        this.nodeBeforeYsSj = nodeBeforeYsSj;
    }

    public BigDecimal getNodeBeforeYsSj() {
        return nodeBeforeYsSj;
    }

    public void setNodeBeforeCb(BigDecimal nodeBeforeCb) {
        this.nodeBeforeCb = nodeBeforeCb;
    }

    public BigDecimal getNodeBeforeCb() {
        return nodeBeforeCb;
    }

    public void setNodeBeforeCbJgc(BigDecimal nodeBeforeCbJgc) {
        this.nodeBeforeCbJgc = nodeBeforeCbJgc;
    }

    public BigDecimal getNodeBeforeCbJgc() {
        return nodeBeforeCbJgc;
    }

    public void setKlLr(BigDecimal klLr) {
        this.klLr = klLr;
    }

    public BigDecimal getKlLr() {
        return klLr;
    }

    public void setKlLrl(BigDecimal klLrl) {
        this.klLrl = klLrl;
    }

    public BigDecimal getKlLrl() {
        return klLrl;
    }

    public void setFzcCostFee(BigDecimal fzcCostFee) {
        this.fzcCostFee = fzcCostFee;
    }

    public BigDecimal getFzcCostFee() {
        return fzcCostFee;
    }

    public void setFzcCostFeeZb(BigDecimal fzcCostFeeZb) {
        this.fzcCostFeeZb = fzcCostFeeZb;
    }

    public BigDecimal getFzcCostFeeZb() {
        return fzcCostFeeZb;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("xh", getXh())
                .append("htContrNo", getHtContrNo())
                .append("jsdw", getJsdw())
                .append("proName", getProName())
                .append("jsdwlx", getJsdwlx())
                .append("htName", getHtName())
                .append("htTotal", getHtTotal())
                .append("jzmj", getJzmj())
                .append("country", getCountry())
                .append("province", getProvince())
                .append("city", getCity())
                .append("county", getCounty())
                .append("sjxmjl", getSjxmjl())
                .append("glryrs", getGlryrs())
                .append("gcAmount", getGcAmount())
                .append("proStatus", getProStatus())
                .append("deptName", getDeptName())
                .append("xmjl", getXmjl())
                .append("sgtYs", getSgtYs())
                .append("sgtJgc", getSgtJgc())
                .append("wgjd", getWgjd())
                .append("yearYs", getYearYs())
                .append("yearJgc", getYearJgc())
                .append("yearSj", getYearSj())
                .append("pid", getPid())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("ydTime", getYdTime())
                .append("yearCost", getYearCost())
                .append("yearCostJgc", getYearCostJgc())
                .append("yearLr", getYearLr())
                .append("yearLrl", getYearLrl())
                .append("yearCzYs", getYearCzYs())
                .append("yearCzJgc", getYearCzJgc())
                .append("yearCzSj", getYearCzSj())
                .append("yearCzSubTotal", getYearCzSubTotal())
                .append("yearCzTj", getYearCzTj())
                .append("yearCzAz", getYearCzAz())
                .append("yearCzQt", getYearCzQt())
                .append("yearCzZyfb", getYearCzZyfb())
                .append("benYearCost", getBenYearCost())
                .append("benYearJgc", getBenYearJgc())
                .append("benYearLr", getBenYearLr())
                .append("benYearLrl", getBenYearLrl())
                .append("nodeBeforeYs", getNodeBeforeYs())
                .append("nodeBeforeYsJgc", getNodeBeforeYsJgc())
                .append("nodeBeforeYsSj", getNodeBeforeYsSj())
                .append("nodeBeforeCb", getNodeBeforeCb())
                .append("nodeBeforeCbJgc", getNodeBeforeCbJgc())
                .append("klLr", getKlLr())
                .append("klLrl", getKlLrl())
                .append("fzcCostFee", getFzcCostFee())
                .append("fzcCostFeeZb", getFzcCostFeeZb())
                .toString();
    }
}
